﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace XNOgre.Core
{
    public enum RenderQueueGroupID : uint
    {
        /// <summary>
        /// Objects that must be rendered first.
        /// </summary>
        Background = 0,
        /// <summary>
        /// First queu (after background), used for skyboxes if rendered first.
        /// </summary>
        SkiesEarly = 5,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        One = 10,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Two = 20,
        WorldGeometryOne = 25,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Three = 30,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Four = 40,
        /// <summary>
        /// Default queue.
        /// </summary>
        Main = 50,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Six = 60,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Seven = 70,
        WorldGeometryTwo = 75,

        /// <summary>
        /// All purpose queue.
        /// </summary>
        Eigth = 80,
        /// <summary>
        /// All purpose queue.
        /// </summary>
        Nine = 90,
        /// <summary>
        /// Last queue before overlays, used for skyboxes if rendered last.
        /// </summary>
        SkiesLate = 95,
        /// <summary>
        /// Use this queue for objects which must be rendered last e.g. overlays.
        /// </summary>
        Overlay = 100,
        /// <summary>
        /// All count of the set of all render queues
        /// </summary>
        Count = 101
    }
}
